package bz.ziro.kanbe.controller.mng.comment;

import java.util.List;

import org.slim3.controller.Navigation;

import com.google.appengine.api.datastore.Key;

import bz.ziro.kanbe.bean.Pager;
import bz.ziro.kanbe.controller.mng.PagerController;
import bz.ziro.kanbe.dao.CommentDao;
import bz.ziro.kanbe.model.Comment;
import bz.ziro.kanbe.util.KeyFactory;

/**
 * コメントリストの取得
 * @author Administrator
 *
 */
public class FindController extends PagerController {

	/**
	 * コメントの件数を取得
	 */
	@Override
	protected Integer getCount() {
        String siteKeyBuf = sessionScope("siteKey");
        String pageKeyBuf = requestScope("ownerPageKey");
        Key key = KeyFactory.createPageKey(Long.valueOf(siteKeyBuf),Long.valueOf(pageKeyBuf));
		return CommentDao.count(key);
	}

	/**
	 * コメントのリミットを取得
	 */
	@Override
	protected Integer getLimit() {
		return 10;
	}

	/**
	 * データを取得
	 */
	@Override
	protected Navigation runPager(Pager pager) {

        String siteKeyBuf = sessionScope("siteKey");
        String pageKeyBuf = requestScope("ownerPageKey");

       	//ページのキーを取得
       	Key pageKey = KeyFactory.createPageKey(Long.valueOf(siteKeyBuf),Long.valueOf(pageKeyBuf));
       	//コメントリストを取得
       	List<Comment> commentList = CommentDao.findPageList(pageKey, pager);
       	requestScope("commentList",commentList);

        return forward("find.jsp");
	}
}
